
/*
题目描述
给定一个数组和滑动窗口的大小，找出所有滑动窗口里数值的最大值。例如，如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3，那么一共存在6个滑动窗口，他们的最大值分别为{4,4,6,6,6,5}；
针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个： {[2,3,4],2,6,2,5,1}， {2,[3,4,2],6,2,5,1}， {2,3,[4,2,6],2,5,1}， {2,3,4,[2,6,2],5,1}， {2,3,4,2,[6,2,5],1}， {2,3,4,2,6,[2,5,1]}。
*/


import java.util.ArrayList;

public class Solution {
    Integer max(int [] num, int i, int j){
        int count=0,max = 0;
        for(int k = i;k<=j; k++){
            if(count==0){
                max = num[k];
                count++;
                continue;
            }
            if(num[k]>max)
                max = num[k];
        }
        return max;
    }
    public ArrayList<Integer> maxInWindows(int [] num, int size)
    {
        ArrayList<Integer> result = new ArrayList<>();
        if(size == 0 || num.length<size)
            return result;
        int max=0;
        for(int i=0; i<num.length; i++){
            if(i+size-1<num.length){
                result.add(max(num, i, i+size-1));
            }
        }

        return result;
    }
    public static void main(String args[]){
        Solution s = new Solution();
        int num[] ={2,3,4,2,6,2,5,1};
        s.maxInWindows(num,3);

        System.out.println("hah");

    }

}